<!DOCTYPE html>
<script>
    Promise.resolve()
        .then(() => {
            return new Error("error!!!");
        })
        .then((res) => {
            console.log("then: ", res);
        })
        .catch((err) => {
            console.log("catch: ", err);
        });
    /* 
        Promise 构造函数是同步执行的，promise.then 中的函数是异步执行的。
        1.JS是单线程语言
        2.promise 有 3 种状态：pending、fulfilled 或 rejected。状态改变只能是 pending->fulfilled 或者 pending->rejected，状态一旦改变则不能再变。
        3.promise 的 .then 或者 .catch 可以被调用多次。
    */
</script>
